home *** CD-ROM | disk | FTP | other *** search
/ PC go! 2018 July / PCgo 07-2018 CD-ROM Germany.iso / nw.pak / Unnamed File 004924.txt < prev    next >
Encoding:
Text File  |  2015-07-29  |  1.2 KB  |  51 lines

  1. // Copyright 2014 The Chromium Authors. All rights reserved.
  2. // Use of this source code is governed by a BSD-style license that can be
  3. // found in the LICENSE file.
  4.  
  5. // This module implements the SurfaceView prototype.
  6.  
  7. var GuestView = require('guestView').GuestView;
  8. var GuestViewContainer = require('guestViewContainer').GuestViewContainer;
  9.  
  10. function SurfaceViewImpl(surfaceviewElement) {
  11.   GuestViewContainer.call(this, surfaceviewElement, 'surfaceview');
  12. }
  13.  
  14. SurfaceViewImpl.prototype.__proto__ = GuestViewContainer.prototype;
  15.  
  16. SurfaceViewImpl.VIEW_TYPE = 'SurfaceView';
  17.  
  18. // Add extra functionality to |this.element|.
  19. SurfaceViewImpl.setupElement = function(proto) {
  20.   var apiMethods = [
  21.     'connect'
  22.   ];
  23.  
  24.   // Forward proto.foo* method calls to SurfaceViewImpl.foo*.
  25.   GuestViewContainer.forwardApiMethods(proto, apiMethods);
  26. }
  27.  
  28. SurfaceViewImpl.prototype.connect = function(url, callback) {
  29.   if (!this.elementAttached) {
  30.     if (callback) {
  31.       callback(false);
  32.     }
  33.     return;
  34.   }
  35.  
  36.   this.guest.destroy();
  37.  
  38.   var createParams = {
  39.     'url': url
  40.   };
  41.  
  42.   this.guest.create(createParams, function() {
  43.     this.attachWindow();
  44.     if (callback) {
  45.       callback(true);
  46.     }
  47.   }.bind(this));
  48. };
  49.  
  50. GuestViewContainer.registerElement(SurfaceViewImpl);
  51.